package org.ch02.test08;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ZJL
 * @date 2025-03-19
 */
public class MainTest02 {
    public static void main(String[] args) throws Exception {
        List<String> list = new ArrayList<String>();

        // 获取操作类的 Class 对象
        Class<?> clazz = list.getClass();

        Method declaredMethod = clazz.getDeclaredMethod("add",Object.class);
        // list.add("AAA")
        declaredMethod.invoke(list, "AAA");
        // list.add(100)
        declaredMethod.invoke(list, 100);
        // 基于 Class 对象，实现相关的操作
//        list.add("AAA");
        //list.add(100);
        // 泛型是编译时有效,运行时无并行（泛型擦除）
        System.out.println(list);
    }
}
